A simulation application provides a computer-based method of analyzing and predicting the behavior and performance of a system. A typical application will require a user to construct a model of the system by adding and connecting components. These components provide a mathematical representation of simple or complex physical phenomena in the form of equations. The application will collect and process the equations to a form that can be readily simulated using a numeric integration technique.
Typically, time domain systems are used to model systems by performing a numeric analysis of the system, with very little manipulation performed symbolically prior to simulation. This set of equations is put together in the form of ordinary differential equations or differential algebraic equations. Unfortunately, because little manipulation is done symbolically prior to simulation, the simulation is not optimized for speed. In other words, current systems fail to optimize for improved execution time, and in some cases may not be solvable at all.
Constantinos C. Pantelides in “The Consistent Initialization of Differential-Algebraic Systems” describes a method of analyzing differential equations. The method identifies equations that constrain integrated variables. These equations are differentiated a number of times to determine the complete set of system constraints. While Pantelides simplifies the differential equations, the algorithm fails to identify variables that are to be constrained by the additional differentiated equations resulting from Pantelides. Sven E. Mattson and Gustaf Soderlind in “Index Reduction in Differential Algebraic Equations Using Dummy Derivatives” describe a method of dynamically selecting the constrained variables. The dynamic selection results in substantial performance degradation due to the overhead of the selection process and because the solution must be restarted whenever the constrained variables change.
The prior art does not provide a simulation application that increases the ease of constructing a model, while minimizing the computational effort required to simulate it. The present invention is directed to overcoming one or more of the existing disadvantages in prior art systems.